400
How can I display only the month of the date

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Date");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Month")))->PutComputedField(L"month(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2002,2,2,11,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2003,3,3,12,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2004,4,4,13,00,00).operator DATE());

399
How can I get only the year part from a date expression

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Date");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Year")))->PutComputedField(L"year(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2002,2,2,11,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2003,3,3,12,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2004,4,4,13,00,00).operator DATE());

398
Can I convert the expression to date

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Date")))->PutComputedField(L"date(dbl(%0))");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("30000.99");
	var_Items->AddItem("3561.23");
	var_Items->AddItem("1232.34");

397
Can I convert the expression to a number, double or float

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Number + 2")))->PutComputedField(L"dbl(%0)+2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

396
How can I display dates in long format

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Date");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"LongFormat")))->PutComputedField(L"longdate(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2002,2,2,11,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2003,3,3,12,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2004,4,4,13,00,00).operator DATE());

395
How can I display dates in short format

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Date");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"ShortFormat")))->PutComputedField(L"shortdate(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2002,2,2,11,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2003,3,3,12,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2004,4,4,13,00,00).operator DATE());

394
How can I display the time only of a date expression

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Date");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Time")))->PutComputedField(L"'time is:' + time(date(%0))");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2002,2,2,11,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2003,3,3,12,00,00).operator DATE());
	var_Items->AddItem(COleDateTime(2004,4,4,13,00,00).operator DATE());

393
Is there any function to display currencies, or money formatted as in the control panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Currency")))->PutComputedField(L"currency(dbl(%0))");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");
	var_Items->AddItem("10000.99");

392
How can I convert the expression to a string so I can look into the date string expression for month's name

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Str")))->PutComputedField(L"str(%0) + ' AA'");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

391
Can I display the absolute value or positive part of the number

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Abs")))->PutComputedField(L"abs(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

390
Is there any function to get largest number with no fraction part that is not greater than the value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Floor")))->PutComputedField(L"floor(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

389
Is there any function to round the values base on the .5 value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Round")))->PutComputedField(L"round(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

388
How can I get or display the integer part of the cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Number");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Int")))->PutComputedField(L"int(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("-1.98");
	var_Items->AddItem("0.99");
	var_Items->AddItem("1.23");
	var_Items->AddItem("2.34");

387
How can I display names as proper ( first leter of the word must be in uppercase, and the rest in lowercase )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"")))->PutComputedField(L"proper(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("root");
	var_Items->InsertItem(h,vtMissing,"child child");
	var_Items->InsertItem(h,vtMissing,"child child");
	var_Items->InsertItem(h,vtMissing,"child child");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

386
Is there any option to display cells in uppercase

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"")))->PutComputedField(L"upper(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Chld 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

385
Is there any option to display cells in lowercase

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"")))->PutComputedField(L"lower(%0)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Chld 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

384
How can I mark the cells that has a specified type, ie strings only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetConditionalFormats()->Add(L"type(%0) = 8",vtMissing)->PutForeColor(RGB(255,0,0));
spTree1->GetColumns()->Add(L"");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,long(2));
	var_Items->InsertItem(h,vtMissing,"Chld 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

383
How can I bold the items that contains data or those who displays empty strings

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetConditionalFormats()->Add(L"not len(%1)=0",vtMissing)->PutBold(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	long hC = var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutCellCaption(hC,long(1),"1");
	var_Items->InsertItem(h,vtMissing,"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

382
Can I change the background color for items or cells that contains a specified string

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetConditionalFormats()->Add(L"%0 contains 'hi'",vtMissing)->PutBackColor(RGB(255,0,0));
spTree1->GetColumns()->Add(L"");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Chld 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

381
Is there any option to change the fore color for cells or items that ends with a specified string

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetConditionalFormats()->Add(L"%0 endwith '22'",vtMissing)->PutForeColor(RGB(255,0,0));
spTree1->GetColumns()->Add(L"");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 1.22");
	var_Items->InsertItem(h,vtMissing,"Child 2.22");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

380
How can I highlight the cells or items that starts with a specified string

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetConditionalFormats()->Add(L"%0 startwith 'C'",vtMissing)->PutUnderline(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"SChild 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

379
How can I change the background color or the visual appearance using ebn for a particular column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"Column 1");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutDef(EXTREELib::exHeaderBackColor,long(16777216));
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Column 3")))->PutDef(EXTREELib::exHeaderBackColor,long(16777471));
	var_Columns->Add(L"Column 4");

378
How can I change the background color for a particular column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"Column 1");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutDef(EXTREELib::exHeaderBackColor,long(8439039));
	var_Columns->Add(L"Column 3");

377
How can I display the column's header using multiple lines

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutHeaderHeight(128);
spTree1->PutHeaderSingleLine(VARIANT_FALSE);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"This is just a column that should break the header.")))->PutWidth(32);
spTree1->GetColumns()->Add(L"This is just another column that should break the header.");

376
How can include the values in the inner cells in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spTree1->PutDescription(EXTREELib::exFilterBarBlanks,L"");
spTree1->PutDescription(EXTREELib::exFilterBarNonBlanks,L"");
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Single Column")));
	var_Column->PutHTMLCaption(L"Single column with <b>inner cells</b>");
	var_Column->PutToolTip(L"Click the drop down filter button, and the filter list includes the inner cells values too.");
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXTREELib::exIncludeInnerCells);
spTree1->PutShowFocusRect(VARIANT_FALSE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	_variant_t s = var_Items->GetSplitCell(var_Items->AddItem("S 1.1"),long(0));
	var_Items->PutCellCaption(vtMissing,s,"S 1.2");
	var_Items->PutCellHAlignment(vtMissing,s,EXTREELib::CenterAlignment);
	var_Items->PutCellBackColor(vtMissing,s,0x1000000);
	var_Items->PutCellWidth(vtMissing,s,84);
	s = var_Items->GetSplitCell(var_Items->AddItem("S 2.1"),long(0));
	var_Items->PutCellCaption(vtMissing,s,"S 2.2");
	var_Items->PutCellHAlignment(vtMissing,s,EXTREELib::CenterAlignment);
	var_Items->PutCellWidth(vtMissing,s,84);
	s = var_Items->GetSplitCell(var_Items->AddItem("S 3.1"),long(0));
	var_Items->PutCellCaption(vtMissing,s,"S 3.2");
	var_Items->PutCellHAlignment(vtMissing,s,EXTREELib::CenterAlignment);
	var_Items->PutCellBackColor(vtMissing,s,0x1000000);
	var_Items->PutCellWidth(vtMissing,s,84);

375
How can I sort the value gets listed in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutDescription(EXTREELib::exFilterBarAll,L"");
spTree1->PutDescription(EXTREELib::exFilterBarBlanks,L"");
spTree1->PutDescription(EXTREELib::exFilterBarNonBlanks,L"");
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"P1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXTREELib::exSortItemsDesc);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"P2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXTREELib::exSortItemsAsc);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Z3");
	var_Items->PutCellCaption(h,long(1),"C");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Z1"),long(1),"B");
	var_Items->PutCellCaption(var_Items->InsertItem(h,vtMissing,"Z2"),long(1),"A");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

374
How can I align the text/caption on the scroll bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutScrollPartCaption(EXTREELib::exHScroll,EXTREELib::exLowerBackPart,L"left");
spTree1->PutScrollPartCaptionAlignment(EXTREELib::exHScroll,EXTREELib::exLowerBackPart,EXTREELib::LeftAlignment);
spTree1->PutScrollPartCaption(EXTREELib::exHScroll,EXTREELib::exUpperBackPart,L"right");
spTree1->PutScrollPartCaptionAlignment(EXTREELib::exHScroll,EXTREELib::exUpperBackPart,EXTREELib::RightAlignment);
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"1");
spTree1->GetColumns()->Add(L"2");
spTree1->GetColumns()->Add(L"3");
spTree1->GetColumns()->Add(L"4");
spTree1->GetColumns()->Add(L"5");
spTree1->GetColumns()->Add(L"6");

373
How do I select the next row/item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Column");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->PutSelectItem(var_Items->GetNextVisibleItem(var_Items->GetFocusItem()),VARIANT_TRUE);

372
How do I enable resizing ( changing the height ) the items at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutItemsAllowSizing(EXTREELib::exResizeItem);
spTree1->PutDrawGridLines(EXTREELib::exHLines);
spTree1->PutScrollBySingleLine(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"Column");
spTree1->GetItems()->AddItem("Item 1");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemHeight(var_Items->AddItem("Item 2"),48);
spTree1->GetItems()->AddItem("Item 3");
spTree1->GetItems()->AddItem("Item 4");

371
How do I enable resizing all the items at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutItemsAllowSizing(EXTREELib::exResizeAllItems);
spTree1->PutDrawGridLines(EXTREELib::exHLines);
spTree1->GetColumns()->Add(L"Column");
spTree1->GetItems()->AddItem("Item 1");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemHeight(var_Items->AddItem("Item 2"),48);
spTree1->GetItems()->AddItem("Item 3");

370
How can I remove the filter
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXTREELib::exBlanks);
spTree1->ApplyFilter();
spTree1->ClearFilter();

369
How do I change the control's border, using your EBN files

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spTree1->PutAppearance(EXTREELib::AppearanceEnum(0x1000000));

368
Can I change the default border of the tooltip, using your EBN files

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutToolTipDelay(1);
spTree1->PutToolTipWidth(364);
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spTree1->PutBackground(EXTREELib::exToolTipAppearance,0x1000000);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

367
Can I change the background color for the tooltip

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutToolTipDelay(1);
spTree1->PutToolTipWidth(364);
spTree1->PutBackground(EXTREELib::exToolTipBackColor,RGB(255,0,0));
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

366
Does the tooltip support HTML format

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutToolTipDelay(1);
spTree1->PutToolTipWidth(364);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"<font Tahoma;11>T</font>his is an HTML <b>tooltip</b> assigned to a <fgcolor=FF0000>column</fgcolor>");

365
Can I change the forecolor for the tooltip

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutToolTipDelay(1);
spTree1->PutToolTipWidth(364);
spTree1->PutBackground(EXTREELib::exToolTipForeColor,RGB(255,0,0));
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

364
Can I change the foreground color for the tooltip

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutToolTipDelay(1);
spTree1->PutToolTipWidth(364);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"<fgcolor=FF0000>this is a tooltip assigned to a column</fgcolor>");

363
How can I merge cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
spTree1->GetColumns()->Add(L"C3");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("this cell merges the first two columns");
	var_Items->PutCellMerge(h,long(0),long(1));
	h = var_Items->AddItem(vtMissing);
	var_Items->PutCellCaption(h,long(1),"this cell merges the last two columns");
	var_Items->PutCellMerge(h,long(1),long(2));
	h = var_Items->AddItem("this cell merges the all three columns");
	var_Items->PutCellMerge(h,long(0),long(1));
	var_Items->PutCellMerge(h,long(0),long(2));
	h = var_Items->AddItem("this draws a divider item");
	var_Items->PutItemDivider(h,0);

362
How can I merge cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem("This is bit of text merges all cells in the item");
	var_Items->PutItemDivider(h,0);
	var_Items->PutCellHAlignment(h,long(0),EXTREELib::CenterAlignment);

361
How can I specify the width for a splited cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->GetColumns()->Add(L"Single Column");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Split 1");
	_variant_t s = var_Items->GetSplitCell(h,long(0));
	var_Items->PutCellWidth(vtMissing,s,64);
	var_Items->PutCellCaption(vtMissing,s,"Split 2");
	_variant_t s1 = var_Items->GetSplitCell(vtMissing,s);
	var_Items->PutCellCaption(vtMissing,s1,"Split 3");
	var_Items->PutCellWidth(vtMissing,s1,64);

360
How can I split a cell in three parts

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->GetColumns()->Add(L"Single Column");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Split 1");
	_variant_t s = var_Items->GetSplitCell(h,long(0));
	var_Items->PutCellCaption(vtMissing,s,"Split 2");
	_variant_t s1 = var_Items->GetSplitCell(vtMissing,s);
	var_Items->PutCellCaption(vtMissing,s1,"Split 3");

359
How can I add a button aligned to right

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"Single Column");
spTree1->PutShowFocusRect(VARIANT_FALSE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemDivider(var_Items->AddItem("This is a bit of text being displayed on the entire item"),0);
	_variant_t s = var_Items->GetSplitCell(var_Items->AddItem("Split Cell 1.1"),long(0));
	var_Items->PutCellCaption(vtMissing,s,"Split Cell <img>1</img>");
	var_Items->PutCellCaptionFormat(vtMissing,s,EXTREELib::exHTML);
	var_Items->PutCellHAlignment(vtMissing,s,EXTREELib::CenterAlignment);
	var_Items->PutCellHasButton(vtMissing,s,VARIANT_TRUE);
	var_Items->PutCellWidth(vtMissing,s,84);

358
How can I split a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spTree1->GetColumns()->Add(L"Single Column");
spTree1->PutShowFocusRect(VARIANT_FALSE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	_variant_t s = var_Items->GetSplitCell(var_Items->AddItem("Split Cell 1.1"),long(0));
	var_Items->PutCellCaption(vtMissing,s,"Split Cell <img>1</img>");
	var_Items->PutCellCaptionFormat(vtMissing,s,EXTREELib::exHTML);
	var_Items->PutCellHAlignment(vtMissing,s,EXTREELib::CenterAlignment);
	var_Items->PutCellBackColor(vtMissing,s,0x1000000);
	var_Items->PutCellWidth(vtMissing,s,84);

357
Can I select an item giving its general position

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectPos(long(1));

356
How can I change the color for separator / dividers items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutGridLineColor(RGB(255,0,0));
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->PutScrollBySingleLine(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem(vtMissing);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLine(h,EXTREELib::DoubleDotLine);
	var_Items->PutItemDividerLineAlignment(h,EXTREELib::DividerCenter);
	var_Items->PutItemHeight(h,6);
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
	h = var_Items->AddItem("Cell 2");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);

355
How can I add separator - dividers items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->PutScrollBySingleLine(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem(vtMissing);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLine(h,EXTREELib::DoubleDotLine);
	var_Items->PutItemDividerLineAlignment(h,EXTREELib::DividerCenter);
	var_Items->PutItemHeight(h,6);
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
	h = var_Items->AddItem("Cell 2");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);

354
Can I change the style of the line being displayed by a divider item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->PutScrollBySingleLine(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem("This is bit of text that's displayed on the entire item, divider.");
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLine(h,EXTREELib::DoubleDotLine);
	var_Items->PutCellHAlignment(h,long(0),EXTREELib::CenterAlignment);
	var_Items->PutItemHeight(h,24);

353
Can I remove the line being displayed by a divider item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem("This is bit of text that's displayed on the entire item, divider.");
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLine(h,EXTREELib::EmptyLine);
	var_Items->PutCellHAlignment(h,long(0),EXTREELib::CenterAlignment);

352
How can I display a divider item, merging all cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutTreeColumnIndex(-1);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	h = var_Items->AddItem("This is bit of text that's displayed on the entire item, divider.");
	var_Items->PutItemDivider(h,0);
	var_Items->PutCellHAlignment(h,long(0),EXTREELib::CenterAlignment);

351
How can I fix or lock items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutLockedItemCount(EXTREELib::TopAlignment,1);
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXTREELib::TopAlignment,0),long(0),"This is a locked item, fixed to the top side of the control.");
	var_Items->PutItemBackColor(var_Items->GetLockedItem(EXTREELib::TopAlignment,0),RGB(196,196,186));
	var_Items->PutLockedItemCount(EXTREELib::BottomAlignment,2);
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXTREELib::BottomAlignment,0),long(0),"This is a locked item, fixed to the top side of the control.");
	var_Items->PutItemBackColor(var_Items->GetLockedItem(EXTREELib::BottomAlignment,0),RGB(196,196,186));
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXTREELib::BottomAlignment,1),long(0),"This is a locked item, fixed to the top side of the control.");
	var_Items->PutItemBackColor(var_Items->GetLockedItem(EXTREELib::BottomAlignment,1),RGB(186,186,186));

350
How can I fix or lock an item on the bottom side of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutLockedItemCount(EXTREELib::BottomAlignment,1);
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXTREELib::BottomAlignment,0),long(0),"This is a locked item, fixed to the bottom side of the control.");
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

349
How can I fix or lock an item on the top of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutLockedItemCount(EXTREELib::TopAlignment,1);
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXTREELib::TopAlignment,0),long(0),"This is a locked item, fixed to the top side of the control.");
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

348
Is there any function to limit the height of the items when I display it using multiple lines

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutScrollBySingleLine(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);
	var_Items->PutItemMaxHeight(h,48);

347
Why I cannot center my cells in the column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutTreeColumnIndex(-1);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Default")))->PutAlignment(EXTREELib::CenterAlignment);
spTree1->GetItems()->AddItem("item 1");
spTree1->GetItems()->AddItem("item 2");
spTree1->GetItems()->AddItem("item 3");

346
How can I align the cell to the left, center or to the right

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutTreeColumnIndex(-1);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellHAlignment(var_Items->AddItem("left"),long(0),EXTREELib::LeftAlignment);
	var_Items->PutCellHAlignment(var_Items->AddItem("center"),long(0),EXTREELib::CenterAlignment);
	var_Items->PutCellHAlignment(var_Items->AddItem("right"),long(0),EXTREELib::RightAlignment);

345
How do I apply HTML format to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutTreeColumnIndex(-1);
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\zipdisk.gif");
spTree1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\auction.gif");
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("The following item shows some of the HTML format supported:");
	var_Items->PutCellHAlignment(h,long(0),EXTREELib::CenterAlignment);
	h = var_Items->AddItem(_bstr_t("<br>text icons <img>1</img>, <img>2</img>, ... pictures <img>p1</img>, <img>p2</img> <br><br>text <b>bold</b>, <i>italic</i>, <") +
"u>underline</u>, <s>strikeout</s>, ...<br><dotline>and so on...<br> <a>anchor</a> or <a2>hyperlink</a><br><fgcolor=FF0000>fgcolo" +
"r</fgcolor> or <bgcolor=00FF00>bgcolor</bgcolor> ");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);
	var_Items->PutCellSingleLine(h,long(0),EXTREELib::exCaptionWordWrap);

344
How can I change the font for a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
spTree1->GetItems()->AddItem("std font");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaptionFormat(var_Items->AddItem("this <font tahoma;12>is a bit of text with</font> a different font"),long(0),EXTREELib::exHTML);

343
How can I change the font for a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
spTree1->GetItems()->AddItem("default font");
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
stdole::FontPtr f = ::CreateObject(L"StdFont");
	f->PutName(L"Tahoma");
	f->PutSize(_variant_t(long(12)));
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellFont(var_Items->AddItem("new font"),long(0),IFontDispPtr(((stdole::FontPtr)(f))));

342
How can I change the font for entire item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
spTree1->GetItems()->AddItem("default font");
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
stdole::FontPtr f = ::CreateObject(L"StdFont");
	f->PutName(L"Tahoma");
	f->PutSize(_variant_t(long(12)));
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemFont(var_Items->AddItem("new font"),IFontDispPtr(((stdole::FontPtr)(f))));

341
How do I vertically align a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"MultipleLine")))->PutDef(EXTREELib::exCellSingleLine,VARIANT_FALSE);
spTree1->GetColumns()->Add(L"VAlign");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"top");
	var_Items->PutCellVAlignment(h,long(1),EXTREELib::TopAlignment);
	h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"middle");
	var_Items->PutCellVAlignment(h,long(1),EXTREELib::MiddleAlignment);
	h = var_Items->AddItem("This is a bit of long text that should break the line");
	var_Items->PutCellCaption(h,long(1),"bottom");
	var_Items->PutCellVAlignment(h,long(1),EXTREELib::BottomAlignment);

340
How can I change the position of an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->PutItemPosition(var_Items->AddItem("Item 3"),0);

339
How do I find an item based on a path

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->PutItemData(var_Items->InsertItem(h,vtMissing,"Child 2"),long(1234));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindPath(L"Root 1\\Child 1"),VARIANT_TRUE);

338
How do I find an item based on my extra data

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->PutItemData(var_Items->InsertItem(h,vtMissing,"Child 2"),long(1234));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindItemData(long(1234),vtMissing),VARIANT_TRUE);

337
How do I find an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindItem("Child 2",long(0),vtMissing),VARIANT_TRUE);

336
How can I insert a hyperlink or an anchor element

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Column");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaptionFormat(var_Items->AddItem("Just an <a1>anchor</a> element ..."),long(0),EXTREELib::exHTML);
EXTREELib::IItemsPtr var_Items1 = spTree1->GetItems();
	var_Items1->PutCellCaptionFormat(var_Items1->AddItem("Just another <a2>anchor</a> element ..."),long(0),EXTREELib::exHTML);

335
How do I find the index of the item based on its handle

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemByIndex(var_Items->GetItemToIndex(h)),VARIANT_TRUE);

334
How do I find the handle of the item based on its index

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetItemByIndex(1),VARIANT_TRUE);

333
How can I find the cell being clicked in a radio group

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutSelBackColor(RGB(255,255,128));
spTree1->PutSelForeColor(RGB(0,0,0));
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
spTree1->GetColumns()->Add(L"C3");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Radio 1");
	var_Items->PutCellHasRadioButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(1),1234);
	var_Items->PutCellCaption(h,long(2),"Radio 2");
	var_Items->PutCellHasRadioButton(h,long(2),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(2),1234);
	var_Items->PutCellState(h,long(1),1);
	var_Items->PutCellBold(vtMissing,var_Items->GetCellChecked(1234),VARIANT_TRUE);

332
Can I add a +/- ( expand / collapse ) buttons to each item, so I can load the child items later

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemHasChildren(var_Items->AddItem("parent item with no child items"),VARIANT_TRUE);
	var_Items->AddItem("next item");

331
Can I let the user to resize at runtime the specified item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutScrollBySingleLine(VARIANT_TRUE);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutItemAllowSizing(var_Items->AddItem("resizable item"),VARIANT_TRUE);
	var_Items->AddItem("not resizable item");

330
How can I change the size ( width, height ) of the picture

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->PutCellPicture(h,long(0),((IDispatch*)(spTree1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)"))));
	var_Items->PutCellPictureWidth(h,long(0),24);
	var_Items->PutCellPictureHeight(h,long(0),24);
	var_Items->PutItemHeight(h,32);
	h = var_Items->AddItem("Root 2");
	var_Items->PutCellPicture(h,long(0),((IDispatch*)(spTree1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)"))));
	var_Items->PutItemHeight(h,48);

329
How can I find the number or the count of selected items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(var_Items->GetItemChild(h),VARIANT_TRUE);
	var_Items->PutSelectItem(var_Items->GetNextSiblingItem(var_Items->GetItemChild(h)),VARIANT_TRUE);
	var_Items->AddItem(var_Items->GetSelectCount());

328
How do I unselect an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_FALSE);

327
How do I find the selected item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetSelectedItem(0),VARIANT_TRUE);

326
How do I un select all items
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->UnselectAll();

325
How do I select multiple items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(var_Items->GetItemChild(h),VARIANT_TRUE);
	var_Items->PutSelectItem(var_Items->GetNextSiblingItem(var_Items->GetItemChild(h)),VARIANT_TRUE);

324
How do I select all items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->SelectAll();

323
How do I select an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_TRUE);

322
Can I display a button with some picture or icon inside

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\zipdisk.gif");
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1)," Button <img>p1</img> ");
	var_Items->PutCellCaptionFormat(h,long(1),EXTREELib::exHTML);
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	var_Items->PutItemHeight(h,48);

321
Can I display a button with some picture or icon inside

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1)," Button <img>1</img> ");
	var_Items->PutCellCaptionFormat(h,long(1),EXTREELib::exHTML);
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);

320
Can I display a button with some icon inside

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1)," <img>1</img> ");
	var_Items->PutCellCaptionFormat(h,long(1),EXTREELib::exHTML);
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);

319
How can I assign multiple icon/picture to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\zipdisk.gif");
spTree1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\auction.gif");
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("text <img>p1</img> another picture <img>p2</img> and so on");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);
	var_Items->PutCellPicture(h,long(0),((IDispatch*)(spTree1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\colorize.gif`)"))));
	var_Items->PutItemHeight(h,48);
	var_Items->AddItem("Root 2");

318
How can I assign an icon/picture to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->PutCellPicture(h,long(0),((IDispatch*)(spTree1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)"))));
	var_Items->PutItemHeight(h,48);
	var_Items->AddItem("Root 2");

317
How can I assign multiple icons/pictures to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root <img>1</img> 1, <img>2</img>, ... and so on ");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);

316
How can I assign multiple icons/pictures to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->PutCellImages(h,long(0),"1,2,3");

315
How can I assign an icon/picture to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->PutCellImage(h,long(0),1);
	var_Items->PutCellImage(var_Items->InsertItem(h,vtMissing,"Child 1"),long(0),2);
	var_Items->PutCellImage(var_Items->InsertItem(h,vtMissing,"Child 2"),long(0),3);
	var_Items->PutExpandItem(h,VARIANT_TRUE);

314
How can I get the handle of an item based on the handle of the cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetCellItem(var_Items->GetItemCell(h,long(0))),VARIANT_TRUE);

313
How can I display a button inside the item or cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1)," Button 1 ");
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	h = var_Items->AddItem("Cell 2");
	var_Items->PutCellCaption(h,long(1)," Button 2 ");
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::CenterAlignment);
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);

312
How can I change the state of a radio button

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutSelBackColor(RGB(255,255,128));
spTree1->PutSelForeColor(RGB(0,0,0));
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
spTree1->GetColumns()->Add(L"C3");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Radio 1");
	var_Items->PutCellHasRadioButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(1),1234);
	var_Items->PutCellCaption(h,long(2),"Radio 2");
	var_Items->PutCellHasRadioButton(h,long(2),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(2),1234);
	var_Items->PutCellState(h,long(1),1);

311
How can I assign a radio button to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutSelBackColor(RGB(255,255,128));
spTree1->PutSelForeColor(RGB(0,0,0));
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
spTree1->GetColumns()->Add(L"C3");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Radio 1");
	var_Items->PutCellHasRadioButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(1),1234);
	var_Items->PutCellCaption(h,long(2),"Radio 2");
	var_Items->PutCellHasRadioButton(h,long(2),VARIANT_TRUE);
	var_Items->PutCellRadioGroup(h,long(2),1234);
	var_Items->PutCellState(h,long(1),1);

310
How can I change the state of a checkbox

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Check Box");
	var_Items->PutCellHasCheckBox(h,long(1),VARIANT_TRUE);
	var_Items->PutCellState(h,long(1),1);

309
How can I assign a checkbox to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Check Box");
	var_Items->PutCellHasCheckBox(h,long(1),VARIANT_TRUE);

308
How can I display an item or a cell on multiple lines

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutScrollBySingleLine(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"This is bit of text that's shown on multiple lines");
	var_Items->PutCellSingleLine(h,long(1),EXTREELib::exCaptionWordWrap);

307
How can I assign a tooltip to a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"tooltip");
	var_Items->PutCellToolTip(h,long(1),L"This is bit of text that's shown when the user hovers the cell");

306
How can I associate an extra data to a cell
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellData(h,long(1),"your extra data");

305
How do I enable or disable a cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellEnabled(h,long(1),VARIANT_FALSE);

304
How do I change the cell's foreground color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellForeColor(h,long(1),RGB(255,0,0));

303
How do I change the visual effect for the cell, using your EBN files

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellBackColor(h,long(1),0x1000000);

302
How do I change the cell's background color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellCaption(h,long(1),"Cell 2");
	var_Items->PutCellBackColor(h,long(1),RGB(255,0,0));

301
How do I change the caption or value for a particular cell

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2");